//
//  CLFileInfo.h
//  FileSystemDemo
//
//  Created by 小草毋正 on 2018/1/6.
//  Copyright © 2018年 C-LOVE. All rights reserved.

/**
 * 文件属性
 *
 * 参考博客网址: https://www.jianshu.com/p/2aeff7b3e34b
 */

#import <Foundation/Foundation.h>


@interface CLFileInfo : NSObject


- (instancetype)initWithFilePath:(NSString *)filePath;


/** 文件路径 */
@property (nonatomic, strong) NSString *filePath;


/**
 * 文件创建时间
 *
 * 对应的key值: NSFileCreationDate
 */
@property (nonatomic, strong) NSDate *creatDate;

/**
 * 是否隐藏文件扩展
 *
 * 对应的key值: NSFileExtensionHidden
 */
@property (nonatomic, assign) BOOL extensionHidden;

/**
 * 获取文件组的ID
 *
 * 对应的key值: NSFileGroupOwnerAccountID
 */
@property (nonatomic, strong) NSNumber *groupOwnerAccountID;

/**
 * 文件组的名字
 *
 * 对应的key值: NSFileGroupOwnerAccountName
 */
@property (nonatomic, copy) NSString *groupOwnerAccountName;


/**
 * HFS文件的创建码
 *
 * 对应的key值: NSFileHFSCreatorCode
 */
@property (nonatomic, assign) OSType hfsCreatorCode;

/**
 * HFS文件的类型
 *
 * 对应的key值: NSFileHFSTypeCode
 */
@property (nonatomic, assign) OSType hfsTypeCode;

/**
 * 文件是否不变
 *
 * 对应的key值: NSFileImmutable
 */
@property (nonatomic, assign) BOOL immutable;

/**
 * 文件修改日期
 *
 * 对应的key值: NSFileModificationDate
 */
@property (nonatomic, strong) NSDate *modificationDate;

/**
 * 文件所有者账号ID
 *
 * 对应的key值: NSFileOwnerAccountID
 */
@property (nonatomic, strong) NSNumber *ownerAccountID;

/**
 * 文件所有者的账号名称
 *
 * 对应的key值: NSFileOwnerAccountName
 */
@property (nonatomic, copy) NSString *ownerAccountName;

/**
 * 文件的权限
 *
 * 对应的key值: NSFilePosixPermissions
 */
@property (nonatomic, assign) NSInteger permissions;

/**
 * 文件的大小
 *
 * 对应的key值: NSFileSize
 */
@property (nonatomic, assign) unsigned long long size;

/**
 * 文件的索引节点
 *
 * 对应的key值: NSFileSystemFileNumber
 */
@property (nonatomic, assign) NSInteger fileNumber;

/**
 * 包含该文件的设备ID
 *
 * 对应的key值: NSFileSystemNumber
 */
@property (nonatomic, assign) NSInteger systemNumber;

/**
 * 文件类型
 *
 * 对应的key值: NSFileType
 */
@property (nonatomic, copy) NSString *fileType;

@end




